// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

export NotInIf := Rectangle {
//             ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    if true: Rectangle {
        @children
//      ^error{The @children placeholder cannot appear in a conditional element}
    }
}

export NotInFor := Rectangle {
//              ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    HorizontalLayout {
        for xxx in 12: Rectangle {
            VerticalLayout {
                @children
//              ^error{The @children placeholder cannot appear in a repeated element}
            }
        }
    }
}

TestBox := Rectangle {
//      ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    @children
    @children
//  ^error{The @children placeholder can only appear once in an element}
}

export TestBox2 := Rectangle {
//              ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    Rectangle {
        @children
    }
    @children
//  ^error{The @children placeholder can only appear once in an element hierarchy}
}

export Final := TestBox {
//           ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    Rectangle {
        @children
    }
}
